﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Grow.EventBus.Cap.SubscriberDomainEvents;

namespace Grow.EventBus.Cap.PublisherDomainEvents
{
    /// <summary>
    /// 消息发布处理器
    /// </summary>
    public interface IPublisherDomainEventHandler
    {
        /// <summary>
        /// 执行发布操作
        /// </summary>
        /// <param name="publisherDomainEventDto"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        Task PublisherAsync(PublisherDomainEventDto publisherDomainEventDto, CancellationToken cancellationToken = default);
    }
}
